gsk: Make rendernode diffing smarter
authorMatthias Clasen <mclasen@redhat.com>
Sun, 28 Mar 2021 14:18:23 +0000 (10:18 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 28 Mar 2021 14:26:06 +0000 (10:26 -0400)
commit2d5dd7b3d72098a89ff610786a09bb23c3afbf05
tree3710d27d0449ea48cf4f192cf6ffaf15a1d4c909
parent0904dd29c20ca8539b9b4261bc595a8f90d19933
gsk: Make rendernode diffing smarter

Allow comparing container nodes to any other
node, by pretending the other node is a single
child container (if it isn't one already).

This fixes a glitch where we redraw the full
entry text when the blinking cursor goes to
opacity 0, since GskSnapshot then optimizes
away first the opacity node, and then the
single-child container.
gsk/gskrendernode.c
gsk/gskrendernodeimpl.c
gsk/gskrendernodeprivate.h